package com.ruoyi.report.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 报告信息对象 report_information
 * 
 * @author ruoyi
 * @date 2024-04-01
 */
@ApiModel("报告信息对象")
@Data
public class ReportInformation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报告id */
    private String id;

    /** 项目编号 */
    @Excel(name = "项目编号")
    @ApiModelProperty(value = "项目编号")
    private String agreementNum;

    /** 报告编号 */
    @Excel(name = "报告编号")
    @ApiModelProperty(value = "报告编号")
    private String reportNum;

    /** 委托单位 */
    @Excel(name = "委托单位")
    @ApiModelProperty(value = "委托单位")
    private String client;

    /** 报告类别 */
    @Excel(name = "报告类别（煤炭/非煤/传感器）")
    @ApiModelProperty(value = "报告类别")
    private String reportType;

    /** 受检设备类型 */
    @Excel(name = "受检设备类型")
    @ApiModelProperty(value = "受检设备类型")
    private String sampleType;

    /** 设备名称 */
    @Excel(name = "设备名称")
    @ApiModelProperty(value = "设备名称")
    private String equName;

    /** 型号规格 */
    @Excel(name = "型号规格")
    @ApiModelProperty(value = "型号规格")
    private String equModel;

    /** 检测方法 */
    @Excel(name = "检测方法（委托检验/周期检验/定期检测）", readConverterExp = "1=定期检测检验,2=委托检验,3=周期检验,5=新安装检测检验")
    @ApiModelProperty(value = "检测方法")
    private String testMethod;

    /** 检测人员 */
    @Excel(name = "检测人员")
    @ApiModelProperty(value = "检测人员")
    private String tester;

    /** 检测日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "检测日期")
    @Excel(name = "检测日期（年-月-日格式）", width = 30, dateFormat = "yyyy-MM-dd")
    private Date testDate;

    /** 检测日期范围 */
    @ApiModelProperty(value = "检测日期范围")
    private String testDateRange;

    /** 状态 */
    @ApiModelProperty(value = "状态")
    private String state;

    /** 批准人 */
    @Excel(name = "批准人")
    @ApiModelProperty(value = "批准人")
    private String apprInspector;

    /** 审核人 */
    @Excel(name = "审核人")
    @ApiModelProperty(value = "审核人")
    private String examInspector;

    /** 主检人 */
    @Excel(name = "主检人")
    @ApiModelProperty(value = "主检人")
    private String chiefInspector;

    /** pdf报告路径 */
    @ApiModelProperty(value = "pdf报告路径")
    private String pdfReport;

    /** 报告上传人 */
    @Excel(name = "报告上传人")
    @ApiModelProperty(value = "报告上传人")
    private String uploader;

    /** 下载打印人 */
    @ApiModelProperty(value = "下载打印人")
    private String downer;

    /** 下载打印时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "下载打印时间")
    private Date downTime;

    /** 归档人 */
    @Excel(name = "归档人")
    @ApiModelProperty(value = "归档人")
    private String filier;

    /** 归档日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "归档日期")
    @Excel(name = "归档日期（年-月-日格式）", width = 30, dateFormat = "yyyy-MM-dd")
    private Date filiTime;

    /** 二维码 */
    @ApiModelProperty(value = "二维码")
    private String qrCode;

    /** 报告路径 */
    @ApiModelProperty(value = "报告路径")
    private String reportUrl;

    /** 地区 */
    @ApiModelProperty(value = "地区")
    private String area;

    /** 下次检测日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "下次检测日期")
    @Excel(name = "下次检测日期（年-月-日格式）", width = 30, dateFormat = "yyyy-MM-dd")
    private Date nextTestDate;

    /** 检测地点 */
    @Excel(name = "检测地点")
    @ApiModelProperty(value = "检测地点")
    private String testPlace;

    /** 文件id */
    @ApiModelProperty(value = "文件id")
    private String fileId;


    /** 原始记录数据 */
    @ApiModelProperty(value = "原始记录数据")
    private ReportOrginalrecord reportOrginalrecord;

    /** 报告审核状态 */
    @ApiModelProperty(value = "报告审核状态")
    private String examStatus;

    /** 报告批准状态 */
    @ApiModelProperty(value = "报告批准状态")
    private String apprStatus;

    /** 上传类型(1.手动上传，2.模板生成) */
    @ApiModelProperty(value = "上传类型(1.手动上传，2.模板生成)")
    private String uploadType;

    /** 到期时间 */
    @ApiModelProperty(value = "到期时间")
    private String expirationTime;

    /** 是否到期 */
    @ApiModelProperty(value = "是否到期，0:未到期；1:已到期")
    private String isExpire;
}
